package com.zp.base.entity.bo;

import com.zp.base.entity.ClinicSchedule;
import com.zp.common.core.entity.BaseEntity;
import com.zp.common.core.validate.AddGroup;
import com.zp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 号表安排业务对象
 *
 * @author zhang peng
 * @date 2023-01-20
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ClinicForRegistBo extends BaseEntity {

    /**
     * 主键
     */
//    @NotBlank(message = "主键不能为空", groups = {EditGroup.class})
    private String clinicForRegistId;

    /**
     * 所属号别
     */
//    @NotBlank(message = "所属号别不能为空", groups = {AddGroup.class, EditGroup.class})
    private String clinicIndexId;

    private String clinicScheduleId;

    /**
     * 就诊日期
     */
//    @NotNull(message = "就诊日期不能为空", groups = {AddGroup.class, EditGroup.class})
    private Date clinicDate;

    /**
     * 时间描述
     */
    private String timeDesc;

    /**
     * 限号数
     */
    private Long limitNum;

    /**
     * 限预约号数
     */
    private Long limitPreNum;

    /**
     * 当前号
     */
    private Long currentNum;

    /**
     * 当日已挂号数
     */
    private Long currentRegisNum;

    /**
     * 已预约号数
     */
    private Long currentPreNum;

    /**
     * 机构ID
     */
    private String orgId;

    /**
     * 备注信息
     */
    private String remark;

    private List<ClinicSchedule> clinicScheduleList;

    /**
     * 号表启用日期
     */
    @NotNull(message = "号表启用日期不能为空", groups = {AddGroup.class, EditGroup.class})
    private Date startDate;

    /**
     * 号表结束日期
     */
    @NotNull(message = "号表结束日期不能为空", groups = {AddGroup.class, EditGroup.class})
    private Date stopDate;

    /**
     * 分页大小
     */
    private Integer pageSize;
    /**
     * 当前页数
     */
    private Integer pageNum;

}
